package com.zhongfl.crm.mapper;

import com.zhongfl.crm.model.LxRevisitLog;
import com.zhongfl.crm.model.vo.LxRevisitLogVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 跟进记录Mapper
 *
 * @author tiantian
 * @date 2018/09/20 19:39
 */
public interface LxRevisitLogMapperCRM {
    /**
     * 删除一条记录
     *
     * @param id 跟进记录ID
     * @return 影响数据库行数
     */
    int deleteById(Long id);

    /**
     * 插入一条记录
     *
     * @param record 记录
     * @return 影响数据库行数
     */
    int insertSelective(LxRevisitLog record);

    /**
     * 查询一条记录
     *
     * @param id 跟进记录ID
     * @return 跟进记录
     */
    LxRevisitLog selectById(Long id);

    /**
     * 更新一条记录字段
     *
     * @param record 更新信息
     * @return 影响数据库行数
     */
    int updateByIdSelective(LxRevisitLog record);

    /**
     * 根据记录关联对象查询
     *
     * @param loggableId   记录关联ID
     * @param loggableType 记录关联对象类型
     * @return 跟进记录列表
     */
    List<LxRevisitLogVO> selectByLoggableIdAndLoggableType(@Param("loggableId") Long loggableId, @Param("loggableType") String loggableType);
}